1. Field of the Invention
The present invention relates to a multicasting network and, more particularly, to a fault-tolerant multicasting network.
2. Description of the Related Art
FIG. 1 shows a block diagram that illustrates a prior-art communications network 100. As shown in FIG. 1, network 100 includes a number of customer premises 110, a central office 112 that is connected to the customer premises 110, and an ATM network 114 that is connected to the central office 112.
In this example, each customer premise 110 has a data device 120, such as a personal computer, a standard telephone 122, and a xDSL modem 124 that is connected to the data device 120 and the telephone 122. In operation, the xDSL modem 124 at each customer premise 110 splits the incoming signals received from central office 112 into incoming data signals for the data device 120 and incoming plain old telephone service (POTS) signals for the telephone 122. In addition, the modem 124 transmits outgoing signals to central office 112 by combining the outgoing data signals from the data device 120 and the outgoing POTS signals from the telephone 122.
Referring again to FIG. 1, central office 112 has a digital subscriber line access multiplexer (DSLAM) 130 that is connected to the xDSL modems 124 in the customer premises 110, and an asynchronous transfer mode (ATM) switch 132 that is connected to DSLAM 130. In addition, central office 112 has an ATM router 134 that is connected to ATM switch 132 and the ATM network 114.
In operation, DSLAM 130 splits the outgoing signals received from each customer premise 110 into output POTS signals and output data signals. The output POTS signals are sent to the central office telephone switching system, while the output data signals are multiplexed together with the output data signals from the other customer premises to form an outgoing data stream.
DSLAM 130 also demultiplexes an incoming data stream from ATM switch 132 to form input data signals for each customer premise 110. Further, DSLAM 130 also combines the demultiplexed input data signals for a customer premise 110 with input POTS signals received from the central office switching system for the customer premise 110 to form the incoming signals for the customer premise 110.
In addition, ATM switch 132 receives the incoming data stream from DSLAM 130 and converts the data from a local data format to an ATM format. In the ATM format, data is loaded into fixed length packets known as cells. Each cell has a header section and a data section. The header section, in turn, includes a virtual connection identifier (VCI) that identifies the destination of the cell, and a virtual path identifier (VPI) that also identifies the destination of the cell. ATM switch 132 also converts received data from the ATM format to the local data format.
Further, router 134 examines the header section of the ATM cell and, based on the destination of the cell, forwards the cell to one of a number of other routers that are connected to ATM network 114. Router 134 also identifies ATM cells that are addressed to the downstream customer premises 110, and forwards those cells to ATM switch 132.
Central office 112 can be implemented with, for example, the Telliant 5000 Central Office System manufactured by Advanced Fiber Communications. One feature of the Telliant 5000 Central Office System is that router 134 includes a controller that has a multicast forwarding circuit. In the multicast forwarding circuit, router 134 identifies a received multicast data packet (e.g., using the internet group management protocol (IGMP)), and forwards the multicast data packet to one or more predefined outputs.
FIG. 2 shows a block diagram that illustrates a prior-art network 200. As shown in FIG. 2, network 200 has a number of routers 210, including routers 210-1 through 210-7, and a number of high-speed data lines 212 that are connected to the routers 210 to form an ATM ring 214. In the FIG. 2 example, the routers 210 have a controller that has a multicast forwarding circuit, such as the routers in a Telliant 5000 Central Office System.
The high-speed data lines 212 can be implemented with, for example, fiber optic cables to form ATM ring 214 as a synchronous optical network (SONET) ATM ring. When implemented as a SONET ATM ring, an OC-12 interface can be used at each router 210 to provide a capacity of approximately 600 Mbps.
There are two types of SONET ATM rings conventionally used: a unidirectional ATM switched ring (UASR) and a bidirectional ATM switched ring (BASR). The SONET UASR is defined by Bellcore standard GR-1230-CORE, while the SONET BASR is defined by Bellcore standard GR-1400-CORE.
A SONET UASR utilizes two fiber optic cables that run between the routers 210: a working fiber and a protective fiber. In operation, the same information is transmitted on the working and protective fibers in opposite directions. When a fault, such as a cut cable or an equipment failure, is detected in or with a segment of a working fiber, the adjacent protective fiber is used to allow data to continue on to the destination routers 210.
Similarly, a SONET BASR ring has four fiber optic cables that run between the routers 210: two working fibers and two protective fibers. One working fiber and one protective fiber are clockwise fibers, while one working fiber and one protective fiber are counter-clockwise fibers. As above, when a working fiber fails, traffic is diverted to the protective fiber. Thus, SONET rings have the ability to heal themselves and are therefore highly survivable.
Referring again to FIG. 2, since the routers 210 include the multicast forwarding circuit, one router 210 in the ring is logically defined to be a source router 210S, while the remaining routers 210 in the ring are logically defined to be forwarding routers 210F. The source router 210S identifies a received multicast data packet, passes the data packet on to the ATM switch (132) connected to the DSLAM, and forwards the multicast data packet on in both directions on ring 214 to the other routers 210.
One the other hand, the forwarding routers 210F identify a forwarded multicast data packet, pass the data packet on to the ATM switch connected to the DSLAM, and forward the multicast data packet on in only one direction on the ring. In addition, although a forwarding router 210F can only forward a multicast data packet in one direction on ring 214, the forwarding router 210F can forward the multicast data packet on to other routers 210.
Further, two forwarding routers 210F in ring 214 are also logically defined to be terminating routers 210T. Terminating routers 210T receive multicast data packets from two directions on the ring, and only process the multicast data packets from one direction, ignoring the packets from the other direction.
In the example shown in FIG. 2, router 210-1 is logically defined to be source router 210S, while routers 210-2 through 210-6 are logically defined to be forwarding routers 210F. In addition, routers 210-3 and 210-6 are both logically defined to be terminating routers 210T.
In operation, router 210-1 receives a data packet, identifies the packet as a multicast data packet, passes the data packet on to the ATM switch connected to the DSLAM, and forwards the multicast data packet to routers 210-2 and 210-4.
Router 210-2 receives the data packet, and identifies the packet as a multicast data packet. In addition, router 210-2 passes the packet on to the ATM switch connected to the DSLAM, and forwards the multicast data packet to router 210-3. Router 210-3 does the same as router 210-2, and forwards the multicast data packet on to router 210-6. However, as a terminating router, router 210-6 ignores the multicast data packet output by router 210-3.
Similarly, router 210-4 receives the data packet, and identifies the packet as a multicast data packet. Router 210-4 also passes the multicast data packet on to the ATM switch connected to the DSLAM, and forwards the multicast data packet to router 210-5. Router 210-5 does the same as router 210-4, and forwards the multicast data packet on to router 210-6. Router 210-6 does the same as router 210-5, and forwards the multicast data packet on to router 210-3.
However, as a terminating router, router 210-3 ignores the multicast data packet output by router 210-6. In addition, although router 210-5 can only forward the multicast data packet to router 210-6 as the next router in ring 214, router 210-5 can also forward the multicast data packet to router 210-7.